package com.shell.customer.base.dao;

import com.shell.customer.base.vo.CusRecVo;
import com.shell.customer.graph.vo.GraphLink;
import java.util.List;
import java.util.Set;
import org.apache.ibatis.annotations.Param;

public abstract interface CustomerDao {
	public abstract Set<GraphLink> findGraphLinks(@Param("grpId") String paramString1,
			@Param("tagCodes") String[] paramArrayOfString, @Param("source") String paramString2,
			@Param("target") String paramString3);

	public abstract List<CusRecVo> findCusForGrp(@Param("grpId") String paramString1,
			@Param("searchValue") String paramString2, @Param("cusStates") String[] paramArrayOfString1,
			@Param("tagCodes") String[] paramArrayOfString2, @Param("notTagCodes") String[] paramArrayOfString3,
			@Param("cusLvl") String paramString3);

	public abstract List<CusRecVo> findAllCus(@Param("cusStates") String[] paramArrayOfString1,
			@Param("searchValue") String paramString, @Param("cusTypes") String[] paramArrayOfString2,
			@Param("add") boolean paramBoolean);

	public abstract List<CusRecVo> findAllCusByTagCode(@Param("cusStates") String[] paramArrayOfString1,
			@Param("searchValue") String paramString1, @Param("cusTypes") String[] paramArrayOfString2,
			@Param("add") boolean paramBoolean, @Param("tagCode") String paramString2);

	public abstract List<CusRecVo> findAllCusByExcludeTagCode(@Param("cusStates") String[] paramArrayOfString1,
			@Param("searchValue") String paramString1, @Param("cusTypes") String[] paramArrayOfString2,
			@Param("add") boolean paramBoolean, @Param("tagCode") String paramString2,
			@Param("excludeTagCode") String paramString3);
}
